The present invention relates to a storage system and a snapshot management method, and is preferably applied in a storage system composed of a plurality of storage controllers having the so-called snapshot function and remote copy function.
Some conventional storage controllers have the so-called snapshot function in order to retain a data image (snapshot) of a logical volume at a certain point in time. Examples of methods that have been proposed for creating snapshots in those types of storage controllers include: a first snapshot creation method whereby only the difference between a source logical volume and an updated logical volume is stored; and a second snapshot creation method whereby data is duplicated and stored in two logical volumes and, when creating a snapshot, duplication is stopped and the logical volume for which updating has been stopped is provided as a snapshot.
Also, regarding the above second snapshot creation method, it has been suggested, as in Japanese Patent Laid-Open Publications No. 2001-331378 and No. 2001-209565, to also provide a logical volume for temporarily storing snapshots and use it as a buffer when storing, in a medium such as a tape or the like, data in the logical volume provided as a snapshot. With this method, it is possible to reduce the duplication suspension time for creating a snapshot, reduce the amount of original data copied to a mirror destination logical volume during mirror resynchronization, and to reduce mirror resynchronization time, during which a database program's data access performance is reduced.
Meanwhile, storage systems having the so-called remote copy function have been in practical use; in those systems, data is duplicated and stored in both a primary-side storage controller and a sub-side storage controller respectively located at a main center and a remote center with a distance of from one to several hundreds of kilometers therebetween, in order to protect data in case of natural disasters such as earthquakes, fires, and floods as well as terrors.
Remote copy functions are roughly divided into two types—synchronous and asynchronous. With the synchronous type remote copy function, remote copy is performed in such a manner that write completion is reported to a host system when data has been written in both a primary-side storage controller and a sub-side storage controller. Whereas, with the asynchronous type remote copy function, remote copy is performed in such a manner that write completion is reported to the host system when data has been written in the primary-side storage controller, and the data is transferred to the sub-side storage controller at another time.
In a conventional storage system having the above-described remote copy function, if there is more than one storage controller at both a primary site and a sub site, the primary-side storage controllers and their corresponding sub-side storage controllers are separately and independently connected to each other via communication links to enable remote copying. Accordingly, if the main center where the primary-side storage controllers are located loses functionality, it is difficult to ensure consistency of data between the main and remote centers unless each piece of the data is time-stamped because the sub-side storage controllers at the remote center have remote-copied data from different points in time.
So it has been suggested that, at a main center, one storage controller (hereinafter called the ‘main storage controller’) be connected to the rest of the storage controllers (hereinafter called the ‘secondary storage controllers’), the main storage controller repeatedly suspends/continues remote copy at a predetermined timing, and the secondary storage controllers also repeatedly suspends/continues remote copy in conjunction with the main storage controller so that data consistency between the main center and the remote center can be ensured at the time of remote copy suspension.